本章中，我们了解了缓冲区和访问器。缓冲区是数据的抽象，向开发者隐藏了内存管理的底层细节。这样做是为了提供更简单、更高层次的抽象。我们介绍了几个示例，这些示例展示了构建缓冲区的不同方法，以及可以指定用来改变其行为的不同可选属性。我们还了解了如何用来自主机内存的数据初始化缓冲区，以及如何在使用完缓冲区后将数据写回主机内存。\par

不应该直接访问缓冲区，所以了解了如何使用访问器对象访问缓冲区中的数据，了解了设备访问器和主机访问器之间的区别。并讨论了不同的访问模式和目标，以及它们如何通知运行时程序在何处使用访问器。还展示了使用默认访问模式和目标来使用访问器的最简单方法，并学习了如何区分占位符访问器和非占位符访问器。然后，了解了如何通过向访问器声明添加访问标记，向运行时提供有关访问器使用的更多信息，从而进一步优化示例程序。最后，介绍了程序中使用访问器的不同方式。\par

下一章中，我们将更详细地了解运行时如何使用访问器提供的信息，来调度不同内核的执行。我们还将看到这些信息，如何通知运行时在主机和设备之间复制缓冲区中数据的时间和方式。我们将学习如何显式地控制涉及缓冲区和USM分配的数据移动。\par

\newpage